Try 2 - Remove <cstdlib> include from `<exception>` This patch removes the `<cstdlib>` include from exception where it is no longer needed. Unlike my previous attempt this patch also adds <cstdlib> where needed in other headers like <new> and <typeinfo>. This won't fix the Firefox build issues discussed on IRC but it is more correct for libc++. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@280754 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/exception b/include/exception index a130bca..686e4ec 100644 --- a/include/exception +++ b/include/exception
@@ -80,10 +80,6 @@ #include <__config> #include <cstddef> #include <type_traits> -#if defined(_LIBCPP_NO_EXCEPTIONS) -#include <cstdio> -#include <cstdlib> -#endif #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header
diff --git a/include/new b/include/new index 9520867..936f9ee 100644 --- a/include/new +++ b/include/new
@@ -69,6 +69,9 @@ #include <__config> #include <exception> #include <cstddef> +#ifdef _LIBCPP_NO_EXCEPTIONS +#include <cstdlib> +#endif #include <__undef___deallocate>
diff --git a/include/stdexcept b/include/stdexcept index 684578f..b78d5d6 100644 --- a/include/stdexcept +++ b/include/stdexcept
@@ -45,6 +45,9 @@ #include <__config> #include <exception> #include <iosfwd> // for string forward decl +#ifdef _LIBCPP_NO_EXCEPTIONS +#include <cstdlib> +#endif #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header
diff --git a/include/typeinfo b/include/typeinfo index d3155e4..ace6609 100644 --- a/include/typeinfo +++ b/include/typeinfo
@@ -61,6 +61,9 @@ #include <exception> #include <cstddef> #include <cstdint> +#ifdef _LIBCPP_NO_EXCEPTIONS +#include <cstdlib> +#endif #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header